home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / ntreskit.exe / ~PROFILE.INF next >
INI File  |  1993-08-26  |  63KB  |  1,594 lines

  1. [GeneralConstants]
  2. Exit_Code = 0
  3. BillboardVisible = 0
  4. ExitCodeOk     = 0
  5. ExitCodeCancel = 1
  6. ExitCodeFatal  = 2
  7. retaddr   = ""
  8. callresult = 0
  9. from      = ""
  10. to        = ""
  11. NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  12. KeyNull            = ""
  13. MAXIMUM_ALLOWED    = 33554432
  14. SERVICE_NO_CHANGE  = 4294967295
  15. KeyInfo            = {}
  16. NoTitle            = 0
  17. UtilityInf         = "UTILITY.INF"
  18. NcParamInf         = "NCPARAM.INF"
  19. !STF_DOMAIN_ROLE  = STANDALONE
  20. !STF_DOMAIN       = ""
  21. !STF_SRCDIR_WINNT = ""
  22. [DialogConstants]
  23. ProCaption   = $(!NetProductTitle)" Setup"
  24. ProCancel    = "Cancel"
  25. ProCancelMsg = $(!NetProductTitle)" Networking is not correctly installed.  "+
  26.                "Are you sure you want to cancel copying files?"
  27. ProCancelCap = "Network Setup Message"
  28. ProText1     = "Copying:"
  29. ProText2     = "To:"
  30. !UG_Filename = "NOSUCH.INF"
  31. Help        = "&Help"
  32. Exit        = "Cancel"
  33. HelpContext = ""
  34. Continue    = "Continue"
  35. ExitState   = "Active"
  36. Cancel      = "Cancel"
  37. Radio1  = "1"
  38. Radio2  = "2"
  39. Radio3  = "3"
  40. Radio4  = "4"
  41. Radio5  = "5"
  42. Radio6  = "6"
  43. Radio7  = "7"
  44. Radio8  = "8"
  45. Radio9  = "9"
  46. Chosen    = "ON"
  47. NotChosen = "OFF"
  48. NullFileName = "NOSUCH.FIL"
  49. [StfVariableDetect]
  50.     !STF_PROCESSOR      = "" ? $(!LIBHANDLE) GetProcessor
  51.     !STF_PLATFORM       = ""
  52.     !STF_LANGUAGE       = "" ? $(!LIBHANDLE) GetLanguage
  53.     LanguageList        = ^(LanguageID, 1)
  54.     !STF_WINDOWSPATH    = "" ? $(!LIBHANDLE) GetWindowsNtDir
  55.     !STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
  56.     !STF_NTPATH         = $(!STF_WINDOWSPATH)
  57.     !STF_BUSTYPE        = "" ? $(!LIBHANDLE) GetMyBusType
  58. [StfVariableSyms]
  59.     ProcessorID_I386  = I386
  60.     ProcessorID_I486  = I486
  61.     ProcessorID_I586  = I586
  62.     ProcessorID_R4000 = R4000
  63.     PlatformID_I386   = I386
  64.     PlatformID_Mips   = Mips
  65.     !STF_PRODUCT      = WINNT
  66.     !STF_USERNAME     = ""
  67.     !STF_INSTALL_MODE = EXPRESS
  68.     !STF_CONTROLSET   = CurrentControlSet
  69.     !STF_UPDGRADE     = NO
  70.     !STF_SRCDIR       = "a:\"
  71.     !STF_SRCDIR_KEYED = ""
  72.     !STF_SRCDIR_USED  = ""
  73.     !STF_INSTALLED_OS = {} ? $(!LIBHANDLE) GetInstalledOSNames
  74.     FatalErrorIndex = 1
  75.     !Exit_Code = 0
  76.     SeedMilliseconds1 = ""
  77.     SeedMilliseconds2 = ""
  78.     Seed              = ""
  79. [SeedTime]
  80.     SystimeStructure = {} ? $(!LIBHANDLE) GetSystemDate
  81. [ErrorConstants]
  82. RegistryErrorList = ^(RegistryErrors$(!STF_LANGUAGE),1)
  83. RegistryErrorIndex = 1
  84. [UiVars]
  85. DummyUnsedUiVar = ""
  86. OrgName            = ""
  87. FullName           = ""
  88. [DestNetPathNames]
  89. DEST_NET_DRIVER   = $(!STF_NTPATH)\drivers
  90. DEST_NET_PROTOCOL = $(!STF_NTPATH)\drivers
  91. DEST_NET_EXE      = $(!STF_WINDOWSSYSPATH)
  92. DEST_NET_INF      = $(!STF_WINDOWSSYSPATH)
  93. DEST_NET_DLL      = $(!STF_WINDOWSSYSPATH)
  94. [NetworkVars]
  95. !STF_SRCDIR_KEYED     = ""       
  96. !STF_SRCDIR_USED      = ""       
  97. !STF_SRCDIR_OVERRIDE  = ""       
  98. !NTN_RegBase          = ""
  99. !NTN_ServiceBase      = "SYSTEM\CurrentControlSet\SERVICES"
  100. !NTN_SoftwareBase     = "SOFTWARE"
  101. !NTN_InstallMode      = "install"
  102. !NTN_Origination      = "install"
  103. !NTN_InstallPhase     = "primary"
  104. ServiceInfList     = ^(ServiceData, 1)
  105. ServiceOptionList  = ^(ServiceData, 2)
  106. ServiceBbList      = ^(ServiceData, 3)
  107. ProtoInfList       = ^(ProtoData, 1)
  108. ProtoOptionList    = ^(ProtoData, 2)
  109. ProtoBbList        = ^(ProtoData, 3)
  110. ReviewInfName      = "NBINFO.INF"
  111. [Shell Commands]
  112.    Set !G:DebugOutputControl = 0
  113.    Set NetInstallStatus = STATUS_SUCCESSFUL
  114.    set-title "Windows NT Network Installation"
  115.    Debug-Output "PROFILE.INF: Section: Shell Commands"
  116.    Set Exit_Code = $(!SETUP_ERROR_GENERAL)
  117.    Set-subst LF = "\n"
  118.    StartWait
  119.    LoadLibrary "x" $(!STF_CWDDIR)\setupdll.dll !LIBHANDLE
  120.    LoadLibrary "x" $(!STF_CWDDIR)\ncpa.cpl !NCPA_HANDLE
  121.    read-syms StfVariableSyms
  122.    read-syms StfVariableDetect
  123.    detect StfVariableDetect
  124.    Debug-Output "PROFILE.INF: Section: Shell Commands; SFTs established"
  125.    read-syms GeneralConstants
  126.    LibraryProcedure STATUS, $(!LIBHANDLE), InstallNetDDE
  127.    OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Control\ProductOptions" $(MAXIMUM_ALLOWED) KeyProduct
  128.    Ifstr(i) $(KeyProduct) != $(KeyNull)
  129.         GetRegValue $(KeyProduct) "ProductType" ValueProductTypeList
  130.         CloseRegKey $(KeyProduct)
  131.         Set ValueProductType = *($(ValueProductTypeList),4)
  132.         Ifstr(i) $(ValueProductType) == "LanmanNt"
  133.             Set !STF_PRODUCT = "LANMANNT"
  134.             Debug-Output "PROFILE.INF: ProductType retrieved is LANMAN NT"
  135.         Else
  136.             Set !STF_PRODUCT = "WINNT"
  137.             Debug-Output "PROFILE.INF: ProductType retrieved is WINDOWS NT"
  138.         Endif
  139.    Else
  140.        Debug-Output "PROFILE.INF:  couldn't open ProductOptions key; assuming WinNt"
  141.        Set !STF_PRODUCT = "WINNT"
  142.    Endif
  143.    Ifstr(i) $(!STF_PRODUCT) == "LANMANNT"
  144.         read-syms ProductTitleLanmanNt$(!STF_LANGUAGE)
  145.    Else
  146.         read-syms ProductTitleWinNt$(!STF_LANGUAGE)
  147.    Endif
  148.    Debug-Output "PROFILE.INF: Product title is: "$(!NetProductTitle)
  149.    set-title $(!NetProductTitle)" Network Installation"
  150.    read-syms UiVars
  151.    read-syms DestNetPathNames
  152.    read-syms DialogConstants
  153.    read-syms NetworkVars
  154.    read-syms ProgressCopy$(!STF_LANGUAGE)
  155.    Shell "subroutn.inf" ReadSetupHelpIds
  156.    SetHelpFile "setupnt.hlp" $(!MinimumID) $(!MaximumID)
  157.    Debug-Output "PROFILE.INF: Base variables loaded"
  158.    Ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I486)
  159.        set STF_PLATFORM = $(PlatformID_I386)
  160.    Else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I586)
  161.        set STF_PLATFORM = $(PlatformID_I386)
  162.    Else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_R4000)
  163.        set STF_PLATFORM = $(PlatformID_Mips)
  164.    Else
  165.        set STF_PLATFORM = $(PlatformID_I386)
  166.    Endif
  167.    set-subst LF = "\n"
  168.    EndWait
  169.    Debug-Output "PROFILE.INF: Network variables loaded"
  170.    ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_I386)
  171.        Debug-Output "PROFILE.INF: Resetting BOOT.INI default time-out"
  172.        Install Install-SetBootIniTimeout
  173.        Debug-Output "PROFILE.INF: status returned :"$($R0)
  174.    endif
  175.    Debug-Output "PROFILE.INF: Restoring Disk Log"
  176.    InitRestoreDiskLog
  177.    read-syms SeedTime
  178.    detect    SeedTime
  179.    set SeedMilliseconds1 = *($(SystimeStructure), 8)
  180.    Debug-Output "PROFILE.INF: Get Name and Org"
  181.    Shell "INITIAL.INF" DoLicense
  182.    ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  183.         goto setupnotdone
  184.    endif
  185.    Debug-Output "PROFILE.INF: Get computer name"
  186.    shell "INITIAL.INF" DoComputerName
  187.    ifstr(i) $($R0) != "STATUS_SUCCESSFUL"                 
  188.        goto setupnotdone
  189.    else
  190.        set !STF_COMPUTERNAME = $($R1)
  191.    endif
  192.    read-syms SeedTime
  193.    detect    SeedTime
  194.    set SeedMilliseconds2 = *($(SystimeStructure), 8)
  195.    set-sub Seed = $(SeedMilliseconds2) $(SeedMilliseconds1)
  196.    Debug-Output "PROFILE.INF: SetAccountDomainSid"
  197.     shell "registry.inf" WinNTKeyCreate {$(!STF_WINDOWSPATH), SYSTEM, $(!FullName), $(!OrgName), $(!STF_INSTALLDATE), $(!STF_PRODUCT), $(SourcePath)}
  198.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  199.         EndWait
  200.         read-syms FatalError5$(STF_LANGUAGE)
  201.         shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "FATAL" $(Fatal)
  202.         StartWait
  203.         Debug-Output "PROFILE.INF: Shelling WinNTEntryCreate failed"
  204.         goto setupnotdone
  205.     endif
  206.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  207.         EndWait
  208.         read-syms FatalError5$(STF_LANGUAGE)
  209.         shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "FATAL" $(Fatal)
  210.         StartWait
  211.         Debug-Output "PROFILE.INF: Creating Software Entry for WinNT Failed"
  212.         goto setupnotdone
  213.     endif
  214.    LibraryProcedure STATUS, $(!LIBHANDLE), SetAccountDomainSid $(Seed) $(!STF_COMPUTERNAME)
  215.    ifstr(i) $(STATUS) == ERROR
  216.        Debug-Output "PROFILE.INF: SetAccountDomainSid failed, error: "$(STATUS)
  217.        read-syms FatalError9$(!STF_LANGUAGE)
  218.        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Fatal)
  219.        goto setupnotdone
  220.    endif
  221.    Debug-Output "PROFILE.INF: SetMyComputerName"
  222.    LibraryProcedure STATUS, $(!LIBHANDLE), SetMyComputerName $(!STF_COMPUTERNAME)
  223.    Ifstr(i) $(STATUS) == "ERROR"
  224.        Debug-Output "PROFILE.INF: SetMyComputerName failed, error: "$(STATUS)
  225.        read-syms FatalError4$(!STF_LANGUAGE)
  226.        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Fatal)
  227.        Debug-Output "PROFILE.INF: Setting ComputerName Value Entry Failed"
  228.        EndWait
  229.        goto setupnotdone
  230.    Endif
  231.    LibraryProcedure STATUS, $(!LIBHANDLE), CreateSamEvent
  232.    Debug-Output "PROFILE.INF: CreateSamEvent returned: "$(STATUS)
  233. nphase$installdetection = +
  234.    Goto nphase$getdriver
  235.    Endif
  236.    Shell "" InstallOemHook
  237.    Shell "" StartDetection
  238.    Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  239.         Set !STF_NCDETECT = NO
  240.         Debug-Output "PROFILE.INF: Netcard detection is enabled"
  241.    Endif
  242. nphase$getdriver = +
  243.    Ifint $(BillboardVisible) != 0
  244.        Shell "subroutn.inf" PopBillboard
  245.        Set BillboardVisible = 0
  246.    Endif
  247.    Debug-Output "PROFILE.INF: Establish netcard option"
  248.    set retaddr = nphase$runinfs
  249.    goto netgetdriver
  250. nphase$runinfs = +
  251.     Ifstr(i) $(NetInstallStatus) == STATUS_USERCANCEL
  252.         Debug-Output "PROFILE.INF: netgetdriver returned STATUS_USERCANCEL"
  253.         Ifstr(i) $(!STF_PRODUCT) == "LANMANNT"
  254.             Goto setupnotdone
  255.         Endif
  256.         Goto nphase$done
  257.     Endif
  258.    Debug-Output "PROFILE.INF: Run subordinate INFs"
  259.    Set retaddr = nphase$installfiles
  260.    Goto netruninfs
  261. nphase$installfiles = +
  262.    Set retaddr = nphase$ncpacmdline
  263.    Ifstr(i) $(!STF_IDW) != "TRUE"
  264.        Goto netinstallfiles
  265.    Endif
  266. nphase$ncpacmdline = +
  267.    Set retaddr = nphase$runncpa
  268.    Goto netncpacmdline
  269. nphase$runncpa = +
  270.    Set KeyComputerName = $(KeyNull)
  271.    OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" $(MAXIMUM_ALLOWED) KeyComputerName
  272.    Ifstr(i) $(KeyComputerName) != $(KeyNull)
  273.        GetRegValue $(KeyComputerName) "ComputerName" ValueActiveComputerName
  274.        Set ActiveComputerName = *($(ValueActiveComputerName),4)
  275.        Debug-Output "PROFILE.INF: *************************************"
  276.        Debug-Output "PROFILE.INF: ActiveComputerName key exists: "$(ActiveComputerName)
  277.        SetRegValue $(KeyComputerName) {ComputerName,$(NoTitle),$(!REG_VT_SZ),$(!STF_COMPUTERNAME)}
  278.        Debug-Output "PROFILE.INF: ActiveComputerName was set to: "$(!STF_COMPUTERNAME)
  279.        Debug-Output "PROFILE.INF: *************************************"
  280.        CloseRegKey $(KeyComputerName)
  281.    Else
  282.        Debug-Output "PROFILE.INF: ActiveComputerName key does not exist."
  283.    Endif
  284.    Debug-Output "PROFILE.INF: Run NCPA to configure the network"
  285.    Ifint $(BillboardVisible) != 0
  286.        Shell "subroutn.inf" PopBillboard
  287.        Set BillboardVisible = 0
  288.    Endif
  289.    set retaddr = nphase$startnet
  290.    goto netrunncpa
  291. nphase$startnet = +
  292.    Debug-Output "PROFILE.INF: Run NCPA to start the network"
  293.    read-syms Billboard6$(!STF_LANGUAGE)
  294.    Shell "subroutn.inf" PushBillboard NETSTATUSDLG $(Status)
  295.    Set BillboardVisible = 1
  296.    Set retaddr = nphase$domainrole
  297.    Goto netstartnetwork
  298. nphase$domainrole = +
  299.    Debug-Output "PROFILE.INF: Run NCPA to establish domain"
  300.    Ifint $(BillboardVisible) != 0
  301.        Shell "subroutn.inf" PopBillboard
  302.        Set BillboardVisible = 0
  303.    Endif
  304.    set retaddr = nphase$connectshare
  305.    goto netdomain
  306. nphase$connectshare = +
  307.    Debug-Output "PROFILE.INF: Domain Role = "$(!STF_DOMAIN_ROLE)
  308.    Set retaddr = nphase$done
  309.    Debug-Output "PROFILE.INF: NOT connecting to remote sharepoint"
  310.    Goto $(retaddr)
  311. nphase$done = +
  312.     Debug-Output "PROFILE.INF: Setting EventLog entry to autostart."
  313.     shell "registry.inf" ModifyServicesEntry "Eventlog" $(!SERVICE_AUTO_START)
  314.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  315.         shell "subroutn.inf" PopBillboard
  316.         EndWait
  317.         Debug-Output "PROFILE.INF: Shelling ModifyServicesEntry on eventlog failed"
  318.         read-syms NonFatalError12$(!STF_LANGUAGE)
  319.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) NONFATAL $(NonFatal)
  320.         StartWait
  321.     else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  322.         shell "subroutn.inf" PopBillboard
  323.         EndWait
  324.         Debug-Output "PROFILE.INF: Couldn't modify services entry for eventlog"
  325.         read-syms NonFatalError12$(!STF_LANGUAGE)
  326.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) NONFATAL $(NonFatal)
  327.         StartWait
  328.     endif
  329.    Debug-Output "PROFILE.INF: Done ************************"
  330.    Ifint $(BillboardVisible) != 0
  331.        Shell "subroutn.inf" PopBillboard
  332.        Set BillboardVisible = 0
  333.    Endif
  334.    Set MakeUserAccount = NO
  335.    Ifstr(i) $(!STF_PRODUCT) != "LANMANNT"
  336.        Ifstr(i) $(STF_DOMAIN_ROLE) == STANDALONE
  337.            Debug-Output "PROFILE.INF: DoAccountSetup"
  338.            Shell "INITIAL.INF" DoAccountSetup
  339.            Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  340.                Set !STF_USERNAME = $($R1)
  341.                Set !STF_PASSWORD = $($R2)
  342.                Set MakeUserAccount = YES
  343.            Endif
  344.        Endif
  345.    Endif
  346.    Debug-Output "PROFILE.INF: Returned from "$(CPANEL_EXE)"; result was: "$(RUN_RESULT)
  347.    Shell "" EnableSetAcl
  348.    EndWait
  349.     Debug-Output "PROFILE.INF: Configuring Paging Files"
  350.     set ConfigurePagingFiles = YES
  351.     shell "virtual.inf" DoVirtual
  352.     StartWait
  353.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  354.         set OldPagingFiles = $($R1)
  355.         set NewPagingFiles = $($R2)
  356.     else
  357.         EndWait
  358.         read-syms NonFatalError3$(!STF_LANGUAGE)
  359.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(NonFatal)
  360.         StartWait
  361.         set ConfigurePagingFiles = NO
  362.     endif
  363.     Debug-Output "PROFILE.INF: Setting paging files."
  364.     ifstr(i) $(ConfigurePagingFiles) == "YES"
  365.         shell "virtual.inf" ConfigureVirtual $(OldPagingFiles) $(NewPagingFiles)
  366.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  367.             Debug-Output "PROFILE.INF: Shelling ConfigureVirtual failed"
  368.             read-syms NonFatalError6$(STF_LANGUAGE)
  369.             EndWait
  370.             shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "NONFATAL" $(NonFatal)
  371.             StartWait
  372.         else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
  373.             EndWait
  374.             read-syms NonFatalError6$(STF_LANGUAGE)
  375.             shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "NONFATAL" $(NonFatal)
  376.             StartWait
  377.         endif
  378.     endif
  379.    read-syms Billboard7$(!STF_LANGUAGE)
  380.    Shell "subroutn.inf" PushBillboard NETSTATUSDLG $(Status)
  381.    Set BillboardVisible = 1
  382.    StartWait
  383.    Debug-Output "PROFILE.INF: calling CreateSetupFailedEvent"
  384.    LibraryProcedure STATUS, $(!LIBHANDLE), CreateSetupFailedEvent
  385.    Debug-Output "PROFILE.INF: CreateSetupFailedEvent returned: "$(STATUS)
  386.    Debug-Output "PROFILE.INF: calling SignalLsaEvent"
  387.    LibraryProcedure STATUS, $(!LIBHANDLE), SignalLsaEvent
  388.    Debug-Output "PROFILE.INF: SignalLsaEvent returned: "$(STATUS)
  389.    Debug-Output "PROFILE.INF: Waiting for SAM initialization to complete..."
  390.    WaitOnEvent STATUS, "*\SAM_SERVICE_STARTED", 0
  391.    Debug-Output "PROFILE.INF: WaitOnEvent SAM_SERVICE_STARTED returned: "$(STATUS)
  392.    EndWait
  393.    Ifstr(i) $(STATUS) != "EventSet"
  394.        Debug-Output "PROFILE.INF: aborting installation due to SAM failure"
  395.        Goto setupnotdone
  396.    Endif
  397.    Set DefaultDomain = ""
  398.    Set DefaultUser = ""
  399.    Ifstr(i) $(!STF_PRODUCT) != "LANMANNT"
  400.        Ifstr(i) $(MakeUserAccount) == YES
  401.            Debug-Output "PROFILE.INF: AddLocalUserAccount name: "$(!STF_USERNAME)" password: "$(!STF_PASSWORD)
  402.            LibraryProcedure STATUS, $(!LIBHANDLE), AddLocalUserAccount $(!STF_USERNAME) $(!STF_PASSWORD)
  403.            Debug-Output "PROFILE.INF: AddLocalUserAccount returned: "$(STATUS)
  404.            Set DefaultUser = $(!STF_USERNAME)
  405.            Set DefaultDomain = $(!STF_COMPUTERNAME)
  406.        Endif
  407.        Ifstr(i) $(!STF_DOMAIN_ROLE) == TRUSTED
  408.            Set DefaultDomain = $(!STF_DOMAIN)
  409.        Endif
  410.    Else
  411.        Ifstr(i) $(!STF_DOMAIN_ROLE) == "DC"
  412.            Debug-Output "PROFILE.INF: AddPdcMachineAccount for PDC of new domain..."
  413.            LibraryProcedure STATUS, $(!LIBHANDLE), AddPdcMachineAccount $(!STF_COMPUTERNAME)
  414.            Debug-Output "PROFILE.INF: AddPdcMachineAccount returned: "$(STATUS)
  415.        Endif
  416.        Set DefaultUser = Administrator
  417.        Set DefaultDomain = $(!STF_DOMAIN)
  418.        shell "registry.inf" MakeQuotaEntries 48 24
  419.    Endif
  420.    Install Install-Win-Ini-Alter
  421.    Shell "" SetWinlogonInitialData $(DefaultDomain) $(DefaultUser)
  422.    ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_Mips)
  423.        set wowfile = krnl286
  424.    else
  425.        set wowfile = krnl386
  426.    endif
  427.    shell "registry.inf" MakeWOWEntry $(wowfile)
  428. setaclsonfiles=+
  429.     Debug-Output "PROFILE.INF: Setting up for conversion and setacl if necessary."
  430.     set Fs_C     = *($(VolumeFSList), ~($(VolumeList), $(Primary)))
  431.     set Fs_Winnt = *($(VolumeFSList), ~($(VolumeList), $(!STF_NTDRIVE)))
  432.     shell "" SetAcls $(!STF_CONVERT_C) $(!STF_CONVERT_WINNT) $(Fs_C) $(Fs_Winnt)
  433.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  434.         Debug-Output "PROFILE.INF: Shelling SetAcls failed"
  435.         goto setupnotdone
  436.     else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
  437.         EndWait
  438.         read-syms FatalError10$(STF_LANGUAGE)
  439.         shell "subroutn.inf" SetupMessage $(STF_LANGUAGE) "FATAL" $(Fatal)
  440.         StartWait
  441.         goto setupnotdone
  442.     endif
  443.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  444.        read-syms NonFatalError12$(!STF_LANGUAGE)
  445.        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) NONFATAL $(Error)
  446.    else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
  447.        read-syms NonFatalError12$(!STF_LANGUAGE)
  448.        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) NONFATAL $(Error)
  449.    endif
  450.    LibraryProcedure STATUS,$(!LIBHANDLE), SaveHive $(!REG_H_USERS) ".DEFAULT" $(!STF_WINDOWSSYSPATH)"\config\UserDef"
  451.    ifstr(i) $(STATUS) != SUCCESS
  452.        read-syms FatalError12$(!STF_LANGUAGE)
  453.        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) FATAL $(Fatal)
  454.        goto setupnotdone
  455.    endif
  456.    Ifint $(BillboardVisible) != 0
  457.        Shell "subroutn.inf" PopBillboard
  458.        Set BillboardVisible = 0
  459.    Endif
  460.    shell "registry.inf" ResetSetupProgressValue
  461.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  462.        read-syms FatalError13$(!STF_LANGUAGE)
  463.        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Fatal)
  464.        goto setupnotdone
  465.    else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
  466.        read-syms FatalError13$(!STF_LANGUAGE)
  467.        shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Fatal)
  468.        goto setupnotdone
  469.    endif
  470. installdomainaccounts=+
  471.     EndWait
  472.     Debug-Output "PROFILE.INF: Installing Domain Accounts."
  473.     RunProgram STATUS "" "" $(!STF_WINDOWSSYSPATH)"\loadacct.exe" useracct.inf
  474.     StartWait
  475.     Set Exit_Code = $(!SETUP_ERROR_SUCCESS)
  476. installregistryACLs=+
  477.     EndWait
  478.     Debug-Output "PROFILE.INF: Installing Registry Key ACL's."
  479.     RunProgram STATUS "" "" $(!STF_WINDOWSSYSPATH)"\restkeys.exe" registry.acl
  480.     StartWait
  481.     Set Exit_Code = $(!SETUP_ERROR_SUCCESS)
  482. gogmt =+
  483.     EndWait
  484.     Debug-Output "PROFILE.INF: Setting system time"
  485.     RunProgram STATUS "" "" $(!STF_WINDOWSSYSPATH)"\control.exe" main.cpl "date/time"
  486.     StartWait
  487.    Set Exit_Code = $(!SETUP_ERROR_SUCCESS)
  488. emergency =+
  489.     EndWait
  490.     Debug-Output "PROFILE.INF: Creating Repair Diskette"
  491.     shell "repair.inf" "CreateRepairDiskette"
  492.     read-syms SetupDoneDlg$(!STF_LANGUAGE)
  493.     ui start "SetupDone"
  494.     ui pop 1
  495.     goto rebootend
  496. setupnotdone =+
  497.     EndWait
  498.     Debug-Output "PROFILE.INF: Setupnotdone. Status = "$(STATUS)
  499.     Ifint $(BillboardVisible) != 0
  500.         Shell "subroutn.inf" PopBillboard
  501.         Set BillboardVisible = 0
  502.     Endif
  503.     read-syms SetupNotDoneDlg$(!STF_LANGUAGE)
  504.     ui start "SetupNotDone"
  505.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  506.         ui pop 1
  507.         goto rebootend
  508.     else
  509.         ui pop 1
  510.         goto end
  511.     endif
  512. rebootend =+
  513.     EndWait
  514.     LibraryProcedure DontCare, $(!LIBHANDLE), SetupChangeServiceConfig, Parallel,+
  515.           $(SERVICE_NO_CHANGE), 2, $(SERVICE_NO_CHANGE), "", "", "", "", "", ""
  516.     Debug-Output "PROFILE.INF: Enable PARALLEL driver; result was "$(DontCare)
  517.     Ifint $(BillboardVisible) != 0
  518.         Shell "subroutn.inf" PopBillboard
  519.         Set BillboardVisible = 0
  520.     Endif
  521.     set Reboot = YES
  522.     install   Install-Shutdown
  523.     Ifint $(BillboardVisible) != 0
  524.         Shell "subroutn.inf" PopBillboard
  525.         Set BillboardVisible = 0
  526.     Endif
  527.     Goto end
  528. netinstallfiles = +
  529.    Debug-Output "PROFILE.INF: adding network files to copy list"
  530.    Install Install-Net-Support
  531.    Debug-Output "PROFILE.INF: Installing all files in copy list"
  532.    Install Install-All-Files-Now
  533.    goto $(retaddr)
  534. netncpacmdline = +
  535.    Set NCPA_CMD_LINE = " /t STF_PRODUCT = "$(!STF_PRODUCT)
  536.    Set NCPA_CMD_LINE = " /t STF_COMPUTERNAME = "$(!STF_COMPUTERNAME)$(NCPA_CMD_LINE)
  537.    Set NCPA_CMD_LINE = " /t STF_USERNAME = "$(!STF_USERNAME)$(NCPA_CMD_LINE)
  538.    Set NCPA_CMD_LINE = " /t STF_INSTALL_MODE = "$(!STF_INSTALL_MODE)$(NCPA_CMD_LINE)
  539.    Set NCPA_CMD_LINE = " /t STF_SRCDIR = "$(!STF_SRCDIR)$(NCPA_CMD_LINE)
  540.    Set NCPA_CMD_LINE = " /t STF_REVIEW = "$(ReviewInfName)$(NCPA_CMD_LINE)
  541.    Ifstr(i) $(!STF_IDW) == TRUE
  542.        Set NCPA_CMD_LINE = " /t STF_IDW = "$(!STF_IDW)$(NCPA_CMD_LINE)
  543.    Endif
  544.    goto $(retaddr)
  545. netrunncpa = +
  546.     StartDetachedProcess STATUS "" "" $(!STF_WINDOWSSYSPATH)"\spoolss.exe"
  547.     ifstr(i) $(STATUS) != "ERROR"
  548.         set !STF_START_SPOOLSS = "NO"
  549.     endif
  550.    Set NCPA_FUNC = NCPA
  551.    goto netcallncpa
  552. netstartservice = +
  553.    Debug-Output "PROFILE.INF: calling NCPA.CPL to start service "$(NCPA_SERVICE)
  554.    LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, $(NCPA_SERVICE)
  555.    Goto netreturnncpa
  556. netcallncpa = +
  557.    Debug-Output "PROFILE.INF: calling NCPA.CPL, function "$(NCPA_FUNC)
  558.    LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE),CPlSetup $(!STF_HWND), $(NCPA_FUNC), $(NCPA_CMD_LINE)
  559. netreturnncpa = +
  560.    Set NCPA_STATUS = *($(NCPA_RESULT),1)
  561.    Debug-Output "PROFILE.INF: NCPA Status was: "$(NCPA_STATUS)
  562.    goto $(retaddr)
  563. netstartnetwork = +
  564.    Debug-Output "PROFILE.INF: Starting workstation..."
  565.    StartWait
  566.    Set WaitStarted = 1
  567.    Set FLibraryErrCtl = 1
  568.    LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, LanmanWorkstation
  569.    Set NCPA_STATUS = *($(NCPA_RESULT),1)
  570.    Debug-Output "PROFILE.INF: Start workstation; result was: "$(NCPA_STATUS)
  571.    Ifint $(NCPA_STATUS) != 0
  572.        EndWait
  573.        Set WaitStarted = 0
  574.        LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(NCPA_STATUS)
  575.        Set NCPA_ERROR_MESSAGE = *($(NCPA_RESULT),2)
  576.        Debug-Output "PROFILE.INF: Error "$(NCPA_STATUS)" translated to: "$(NCPA_ERROR_MESSAGE)
  577.        Read-syms WarningNoNet$(!STF_LANGUAGE)
  578.        Set Error = $(NCPA_ERROR_MESSAGE)$(ErrorSuffix)
  579.        read-syms WarningDlg$(!STF_LANGUAGE)
  580.        ui start SetupMessage
  581.        goto netstartnetdone
  582.    Endif
  583.    Debug-Output "PROFILE.INF: Starting LMHOSTS service..."
  584.    OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\LmHosts" $(MAXIMUM_ALLOWED) KeyLmHosts
  585.    ifstr(i) $(KeyLmHosts) != ""
  586.        EndWait
  587.        Set WaitStarted = 0
  588.        LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, LmHosts
  589.        Set NCPA_STATUS = *($(NCPA_RESULT),1)
  590.        Debug-Output "PROFILE.INF: Start Lmhosts; result was: "$(NCPA_STATUS)
  591.        Ifint $(NCPA_STATUS) != 0
  592.            LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(NCPA_STATUS)
  593.            Set NCPA_ERROR_MESSAGE = *($(NCPA_RESULT),2)
  594.            Debug-Output "PROFILE.INF: Error "$(NCPA_STATUS)" translated to: "$(NCPA_ERROR_MESSAGE)
  595.            Read-syms WarningNoLmHosts$(!STF_LANGUAGE)
  596.            Set Error = $(NCPA_ERROR_MESSAGE)$(ErrorSuffix)
  597.            read-syms WarningDlg$(!STF_LANGUAGE)
  598.            ui start SetupMessage
  599.            goto netstartnotdone
  600.        Endif
  601.    Endif
  602. netstartnetdone =+
  603.    Set FLibraryErrCtl = 0
  604.    Ifint $(WaitStarted) == 1
  605.        EndWait
  606.    Endif
  607.    Goto $(retaddr)
  608. netdomain = +
  609.    Debug-Output "PROFILE.INF: Running Domain Settings dialog..."
  610.    Set FLibraryErrCtl = 1
  611.    LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), DOMAIN, $(NCPA_CMD_LINE)
  612.    Set FLibraryErrCtl = 0
  613.    Set NCPA_STATUS = *($(NCPA_RESULT),1)
  614.    Debug-Output "PROFILE.INF: Domain Settings result was: "$(NCPA_STATUS)
  615.    Ifint $(NCPA_STATUS) != 0
  616.        Ifint $(NCPA_STATUS) == 13074
  617.            Ifstr(i) $(!STF_PRODUCT) == "LANMANNT"
  618.                Debug-Output "PROFILE.INF: Aborting LanmanNT installation; user cancellation."
  619.                Set NetInstallStatus = STATUS_USERCANCEL
  620.                Goto setupnotdone
  621.            Endif
  622.        Endif
  623.    Endif
  624.    Set TEMP_COMPUTERNAME  =  *($(NCPA_RESULT),2)
  625.    Set TEMP_DOMAINNAME    =  *($(NCPA_RESULT),3)
  626.    Set TEMP_COMPUTERROLE  =  *($(NCPA_RESULT),5)
  627.    Ifstr(i) $(TEMP_COMPUTERNAME) != ""
  628.         Ifstr(i) $(TEMP_COMPUTERNAME) != $(!STF_COMPUTERNAME)
  629.             Set !STF_COMPUTERNAME = $(TEMP_COMPUTERNAME)
  630.             Debug-Output "PROFILE.INF: Computername changed to "$(!STF_COMPUTERNAME)
  631.         Endif
  632.    Endif
  633.    Ifstr(i) $(TEMP_DOMAINNAME) != ""
  634.         Set !STF_DOMAIN = $(TEMP_DOMAINNAME)
  635.         Debug-Output "PROFILE.INF: Domain name is "$(!STF_DOMAIN)
  636.    Endif
  637.    Ifstr(i) $(TEMP_COMPUTERROLE) != ""
  638.         Set !STF_DOMAIN_ROLE = $(TEMP_COMPUTERROLE)
  639.         Debug-Output "PROFILE.INF: Domain role is "$(!STF_DOMAIN_ROLE)
  640.    Endif
  641.    Ifstr(i) $(TEMP_COMPUTERROLE) == STANDALONE
  642.         Debug-Output "PROFILE.INF: Prevent NETLOGON service from autostarting"
  643.         LibraryProcedure DontCare, $(!LIBHANDLE), SetupChangeServiceConfig, NetLogon,+
  644.                $(SERVICE_NO_CHANGE), 3, $(SERVICE_NO_CHANGE), "", "", "", "", "", ""
  645.    Endif
  646.    goto $(retaddr)
  647. netconnectshare =+
  648.    Debug-Output "PROFILE.INF: calling NCPA, function CONNECT"
  649.    LibraryProcedure NCPA_RESULT $(!NCPA_HANDLE),CPlSetup $(!STF_HWND), $(NCPA_FUNC), $(!STF_SRCDIR) $(!STF_SRCBASE)
  650.    Goto netreturnncpa
  651. netcheckquit = +
  652.     Goto $(retaddr)
  653. netgetdriver = +
  654.     Debug-Output "PROFILE.INF: Label: netgetdriver"
  655.     Shell "" InitialAdapterInstall
  656.     Set NetInstallStatus = $($R0)
  657.     Debug-Output "PROFILE.INF: netgetdriver; returning: "$(NetInstallStatus)
  658.     Ifstr(i) $(NetInstallStatus) == STATUS_USERCANCEL
  659.         Ifstr(i) $(!STF_PRODUCT) != "LANMANNT"
  660.             Goto $(retaddr)
  661.         Endif
  662.     Endif
  663.     Goto netcheckquit
  664. netruninfs = +
  665.    Debug-Output "PROFILE.INF: Label: netruninfs"
  666.    Set InfsToBeRun      = {}
  667.    Set OptionsToInstall = {}
  668.    Set BbToBeShown      = {}
  669.    Set AdapterSrcDir    = $(!STF_SRCDIR)
  670.    ForListDo $(ProtoInfList)
  671.         Set InfsToBeRun = >($(InfsToBeRun),$($))
  672.         Set OptionsToInstall = >($(OptionsToInstall),*($(ProtoOptionList),$(#)))
  673.         Set BbToBeShown = >($(BbToBeShown),*($(ProtoBbList),$(#)))
  674.    EndForListDo
  675.    ForListDo $(ServiceInfList)
  676.         Set InfsToBeRun = >($(InfsToBeRun),$($))
  677.         Set OptionsToInstall = >($(OptionsToInstall),*($(ServiceOptionList),$(#)))
  678.         Set BbToBeShown = >($(BbToBeShown),*($(ServiceBbList),$(#)))
  679.    EndForListDo
  680. DoNetInfsNow =+
  681.    Debug-Output "PROFILE.INF: INFs to be run: "$(InfsToBeRun)
  682.    Debug-Output "PROFILE.INF: Options to install: "$(OptionsToInstall)
  683.    Debug-Output "PROFILE.INF: Billboards to be shown: "$(BbToBeShown)
  684.    ForListDo $(InfsToBeRun)
  685.         Set ThisInfName = $($)
  686.         Set BbIndex = *($(BbToBeShown),$(#))
  687.         Debug-Output "PROFILE.INF: Installing "$(ThisInfName)
  688.         Ifint $(BbIndex) != 0
  689.             read-syms Billboard$(BbIndex)$(!STF_LANGUAGE)
  690.             Shell "subroutn.inf" PushBillboard NETSTATUSDLG $(Status)
  691.             Set BillboardVisible = 1
  692.         Endif
  693.         Set InfOption = *($(OptionsToInstall),$(#))
  694.         Shell $(ThisInfName) InstallOption $(!STF_LANGUAGE) $(InfOption) $(AdapterSrcDir) "YES" "NO" "NO"
  695.         Set-title $(!NetProductTitle)" Network Installation"
  696.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  697.             Goto netruninfescape
  698.         Endif
  699.         Set NetInstallStatus = $($R0)
  700.         Ifstr(i) $(NetInstallStatus) == STATUS_USERCANCEL
  701.             Debug-Output "PROFILE.INF: user cancelled in: "$(ThisInfName)
  702.             Goto netruninfescape
  703.         Endif
  704.         Ifstr(i) $(NetInstallStatus) != STATUS_SUCCESSFUL
  705.             Debug-Output "PROFILE.INF: install failure in: "$(ThisInfName)
  706.             Goto netruninfescape
  707.         Endif
  708.    EndForListDo
  709.    Ifint $(BillboardVisible) != 0
  710.        Shell "subroutn.inf" PopBillboard
  711.        Set BillboardVisible = 0
  712.    Endif
  713. netruninfescape = +
  714.    Goto netcheckquit
  715. infomsg = +
  716.    read-syms InfoDlg
  717.    ui start "Warning"
  718.    goto $(from)
  719. nonfatal = +
  720.    read-syms NonfatalDlg$(!STF_LANGUAGE)
  721.    ui start "NonFatalError"
  722.    ifstr(i) $(DLGEVENT) == "OK"
  723.        goto $(from)
  724.    else
  725.        goto end
  726.    endif
  727. bogusexit = +
  728.    Debug-Output "PROFILE.INF: BOGUS EXIT from "$(from)" Return addr: "$(retaddr)
  729.    read-syms FatalError999$(!STF_LANGUAGE)
  730.    goto fatal
  731. fatal = +
  732.    read-syms FatalDlg$(!STF_LANGUAGE)
  733.    ui start "FatalError"
  734.    goto term
  735. end = +
  736.     goto term
  737. term =+
  738.    Ifstr(i) $(!LIBHANDLE) != ""
  739.        LibraryProcedure DontCare, $(!LIBHANDLE), DeleteAllConnections
  740.    Endif
  741.     exit
  742. [SetWinlogonInitialData]
  743.     Read-syms GeneralConstants
  744.     Set Wl_DomainName = $($0)
  745.     Set Wl_UserName = $($1)
  746.     Set KeyWinlogon = $(KeyNull)
  747.     OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\Windows NT\CurrentVersion\Winlogon" +
  748.          $(MAXIMUM_ALLOWED) KeyWinlogon
  749.     Ifstr(i) $(KeyWinlogon) == $(KeyNull)
  750.         Goto SWID_Return
  751.     Endif
  752.     Ifstr(i) $(Wl_DomainName) != ""
  753.         SetRegValue $(KeyWinlogon) {DefaultDomainName,$(NoTitle),$(!REG_VT_SZ),$(Wl_DomainName)}
  754.     Endif
  755.     Ifstr(i) $(Wl_UserName) != ""
  756.         SetRegValue $(KeyWinlogon) {DefaultUserName,$(NoTitle),$(!REG_VT_SZ),$(Wl_UserName)}
  757.     Endif
  758. SWID_Return = +
  759.     return
  760. [AdapterVars]
  761.     AdapterHardwareDetected      = ""
  762.     AdapterSystemSet             = ""
  763.     AdapterDefault               = ""
  764.     AdapterOurINFOptions         = {}
  765.     AdapterOemINFOptions         = {}
  766.     AdapterMergedOptions         = {}
  767.     AdapterSpecialOption         = {}
  768.     AdapterCurrentOption         = {}
  769.     AdapterOptionList            = {}
  770.     AdapterOptionTextList        = {}
  771.     AdapterOption                = {}
  772.     AdapterINF                   = ""
  773.     AdapterInstall               = "NO"
  774.     AdapterSrcDir                = ""
  775.     AdapterDstDir                = ""
  776.     NcParamInf                   = "NCPARAM.INF"
  777. [InitialAdapterInstall]
  778.     StartWait
  779.     set Status = STATUS_FAILED
  780.     read-syms OemOptionDiskette$(!STF_LANGUAGE)
  781.     read-syms Strings$(!STF_LANGUAGE)
  782.     read-syms ProgressCopy$(!STF_LANGUAGE)
  783.     Shell "subroutn.inf" ReadSetupHelpIds
  784.     SetHelpFile "setupnt.hlp" $(!MinimumID) $(!MaximumID)
  785.     read-syms AdapterVars
  786.     Set !NtLmDoCopy   = "NO"
  787.     Set !NtLmAddCopy  = "NO"
  788.     Set !NtLmDoConfig = "NO"
  789.     EndWait          
  790. ;    goto detectbypass
  791.     read-syms Billboard1$(!STF_LANGUAGE)
  792.     Shell "subroutn.inf" PushBillboard NETSTATUSDLG $(Status)
  793.     StartWait
  794.     shell "" InitOptionVars $(!STF_LANGUAGE) NetAdapter +
  795.        $(AdapterHardwareDetected) $(AdapterSystemSet) $(AdapterDefault)
  796.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  797.         set AdapterOurINFOptions = $($R1)
  798.         set AdapterOemINFOptions = $($R2)
  799.         set AdapterMergedOptions = $($R3)
  800.         set AdapterSpecialOption = $($R4)
  801.         set AdapterCurrentOption = $($R5)
  802.         set AdapterOption        = *($($R5), 1)
  803.     else
  804.         EndWait
  805.         Shell "subroutn.inf" PopBillboard
  806.         shell "SUBROUTN.INF" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Error1)
  807.         goto finish_adapter
  808.     endif
  809.     EndWait
  810.     Shell "subroutn.inf" PopBillboard
  811.     StartWait
  812.     Ifstr(i) $(!NTN_Origination) != "NCPA"
  813.         Set NoneOption = $(None)
  814.     Else
  815.         Set NoneOption = ""
  816.     Endif
  817.     Shell "" InitListBoxVars $(!STF_LANGUAGE) $(AdapterMergedOptions) $(AdapterSpecialOption) $(Other) $(NoneOption)
  818.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  819.         set AdapterOptionList     = $($R1)
  820.         set AdapterOptionTextList = $($R2)
  821.     else
  822.         EndWait
  823.         shell "SUBROUTN.INF" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Error2)
  824.         goto  finish_adapter
  825.     endif
  826.     read-syms DialogConstants
  827.     EndWait
  828.     Set DtOption = ""
  829.     Set DtIndex = 0
  830.     Set DtInfIndex = 0
  831.     Set DtAnyFound = NO
  832.     Set !STF_NCOPTION = $(DtOption)
  833.     Set !STF_NCDETCARD = $(DtIndex)
  834.     Set !STF_NCDETINFO = {}
  835.     Debug-Output "PROFILE.INF: calling DTSTART wrapper, mode = "$(!STF_INSTALL_MODE)
  836.     Shell $(NcParamInf) Param_ControlDetection DTSTART
  837.     Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK)
  838.           Debug-Output "PROFILE.INF: shell error (NCPARAM.INF:Param_ControlDetection) : "$($ShellCode)
  839.           Goto adapter_shell_error
  840.     Endif
  841.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  842.         Debug-Output "PROFILE.INF: DTSTART wrapper FAILED"
  843.         Goto detectbypass
  844.     Endif
  845.     Ifstr(i) $(!STF_NCDETECT) == NO
  846.         Goto detectbypass
  847.     Endif
  848.     Ifstr(i) $(!STF_INSTALL_MODE) == CUSTOM
  849.         Shell "" WarnDetectStart
  850.         Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  851.             Goto detectbypass
  852.         Endif
  853.     Endif
  854. detectcycle = +
  855.     Debug-Output "PROFILE.INF: calling DTCARD wrapper"
  856.     StartWait
  857.     Shell $(NcParamInf) Param_DetectCard
  858.     Set StartResult = $($R0)
  859.     Set StartStatus = *($(StartResult),1)
  860.     Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK)
  861.           Debug-Output "PROFILE.INF: shell error (NCPARAM.INF:Param_DetectCard) : "$($ShellCode)
  862.           Goto adapter_shell_error
  863.     Endif
  864.     EndWait
  865.     Ifint $(StartStatus) == 0
  866.         Set DtOption  = *($(StartResult),2)
  867.         Set DtIndex   = *($(StartResult),3)
  868.         Set DtType    = *($(StartResult),4)
  869.         Set DtConf    = *($(StartResult),5)
  870.         Set DtBusType = *($(StartResult),6)
  871.         Set DtBusNum  = *($(StartResult),7)
  872.         Set DtInfo    = {$(DtOption),$(DtIndex),$(DtType),$(DtConf),$(DtBusType),$(DtBusNum)}
  873.         Debug-Output "PROFILE.INF: card found is type "$(DtOption)", index "$(DtIndex)
  874.         Set DtInfIndex = ~($(AdapterOptionList),$(DtOption))
  875.         Ifint $(DtInfIndex) == 0
  876.             Debug-Output "PROFILE.INF: Detect: no INF file for option: "$(DtOption)
  877.             Set DtOption = ""
  878.             Goto detectcycle
  879.         Endif
  880.     Else
  881.         Set DtOption = ""
  882.         Set DtIndex = 0
  883.         Set DtInfIndex = 0
  884.         Goto detectnotfound
  885.     Endif
  886.     Set DtAnyFound = YES
  887.     Set DtInfOptionName = *($(AdapterOptionTextList),$(DtInfIndex))
  888.     Ifstr(i) $(!STF_INSTALL_MODE) == EXPRESS
  889.         Goto detectend
  890.     Endif
  891.     Shell "" WarnDetectAccept $(DtInfOptionName)
  892.     Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  893.         Goto detectend   
  894.     Endif
  895.     Set DtInfOption = 0
  896.     Set DtOption = ""
  897.     Set DtInfIndex = 0
  898.     Ifstr(i) $($R0) != STATUS_TRY_AGAIN
  899.         Goto detectend   
  900.     Endif
  901.     Goto detectcycle
  902. detectnotfound = +
  903.     Shell "" WarnDetectFail $(DtAnyFound)
  904.     Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  905.         Goto detectend
  906.     Endif
  907.     Debug-Output "PROFILE.INF: calling DTRESET wrapper"
  908.     Shell $(NcParamInf) Param_ControlDetection DTRESET
  909.     Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK)
  910.           Debug-Output "PROFILE.INF: shell error (NCPARAM.INF:Param_ControlDetection) : "$($ShellCode)
  911.           Goto adapter_shell_error
  912.     Endif
  913.     Goto detectcycle
  914. detectend = +
  915.     Set !STF_NCDETCARD = 0
  916.     Set !STF_NCDETINFO = $(DtInfo)
  917. detectbypass = +
  918.     read-syms LoadAdapterInfo
  919.     goto install_adapter
  920. adapter = +
  921.     read-syms QueryAdapter$(!STF_LANGUAGE)
  922.     Ifstr(i) $(!NTN_Origination) == "ncpa"
  923.         Set DlgText = $(DlgText2)
  924.     Endif
  925.     ui start "System"
  926.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  927.         Debug-Output "PROFILE.INF: CONTINUE message from adapter dialog"
  928.         ifstr(i) $(Combo1Out) == $(None)
  929.             set AdapterOption = NONE
  930.             ui pop 1
  931.             goto install_adapter
  932.         else-ifstr(i) $(Combo1Out) != $(Other)
  933.             set AdapterOption = *($(AdapterOptionList), ~($(Combo1List), $(Combo1Out)))
  934.             ui pop 1
  935.             goto install_adapter
  936.         else
  937.             Debug-Output "PROFILE.INF: Chose OTHER; calling GetNewOEMOption..."
  938.             shell "OTHER.INF" GetNewOEMMultiOption $(!STF_LANGUAGE) +
  939.                 $(AdapterOemINFOptions) NetAdapter +
  940.                 $(AdapterDisketteSrc)
  941.             set ReInit = YES
  942.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  943.                 Debug-Output "PROFILE.INF: GetNewOEMOption successful"
  944.                 set AdapterOemINFOptions  = $($R1)
  945.                 set AdapterOption         = $($R2)
  946.                 set AdapterDisketteSrc    = $($R4)
  947.                 shell "" MergeOptions $(AdapterOurINFOptions) $(AdapterOemINFOptions)
  948.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  949.                     set AdapterMergedOptions = {$($R1), $($R2)}
  950.                 else
  951.                     shell "SUBROUTN.INF" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Error4)
  952.                     ui pop 1
  953.                     goto finish_adapter
  954.                 endif
  955.                 shell "" InitListBoxVars $(!STF_LANGUAGE) $(AdapterMergedOptions) $(AdapterSpecialOption) $(Other) $(None)
  956.                 ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  957.                     set AdapterOptionList     = $($R1)
  958.                     set AdapterOptionTextList = $($R2)
  959.                 else
  960.                     shell "SUBROUTN.INF" SetupMessage $(!STF_LANGUAGE) "FATAL" $(Error2)
  961.                     ui pop 1
  962.                     goto  finish_adapter
  963.                 endif
  964.                 ui pop 1
  965.                 goto install_adapter
  966.             else-ifstr(i) $($R0) == "STATUS_USERCANCEL"
  967.                 Debug-Output "PROFILE.INF: GetNewOEMOption user cancelled"
  968.                 goto adapter
  969.             else
  970.                 Debug-Output "PROFILE.INF: GetNewOEMOption other error"
  971.                 shell "SUBROUTN.INF" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(Error3)
  972.                 goto adapter
  973.             endif
  974.         endif
  975.         set ReInit = NO
  976.         goto adapter
  977.     else-ifstr(i) $(DLGEVENT) == "BACK"
  978.         set ExitChoice = "OK"
  979.         ifstr(i) $(!NTN_Origination) != "NCPA"
  980.             Debug-Output "PROFILE.INF: EXIT button: see if user wants to quit"
  981.             shell "" QueryUserQuit $(!STF_LANGUAGE)
  982.             Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK)
  983.                Debug-Output "PROFILE.INF: SHELL ERROR: "$($ShellCode)
  984.             Endif
  985.             Debug-Output "PROFILE.INF: QueryUserExit returned "$($R1)
  986.             set ExitChoice = $($R1)
  987.         endif
  988.         ifstr(i) $(ExitChoice) == "OK"
  989.             set Status = STATUS_USERCANCEL
  990.             Debug-Output "PROFILE.INF: Quitting!"
  991.             ui pop 1
  992.             goto finish_adapter
  993.         else
  994.             set  ReInit = NO
  995.             goto adapter
  996.         endif
  997.     else
  998.         ui pop 1
  999.         goto finish_adapter
  1000.     endif
  1001. install_adapter = +
  1002.     set AdapterInstall = "YES"
  1003.     Debug-Output "PROFILE.INF: Adapter option is "$(AdapterOption)
  1004.     Debug-Output "PROFILE.INF: Adapter INF is "$(AdapterINF)
  1005.     Debug-Output "PROFILE.INF: AdapterOemINFOptions: "$(AdapterOemINFOptions)
  1006. skip_setinstall = +
  1007.     ifstr(i) $(AdapterInstall) == YES
  1008.         ifstr(i)  $(AdapterINF) != ""
  1009.             read-syms Billboard8$(!STF_LANGUAGE)
  1010.             Shell "subroutn.inf" PushBillboard NETSTATUSDLG $(Status)
  1011.             shell $(AdapterINF) InstallOption $(!STF_LANGUAGE) $(AdapterOption) $(AdapterSrcDir) +
  1012.                   $(!NtLmAddCopy) $(!NtLmDoCopy) $(!NtLmDoConfig)
  1013.             Set !STF_SRCDIR_OVERRIDE = ""
  1014.             Shell "subroutn.inf" PopBillboard
  1015.             Ifstr(i) $($R0) == STATUS_USERCANCEL
  1016.                 Goto adapter
  1017.             Endif
  1018.         endif
  1019.     else
  1020.         Debug-Output "PROFILE.INF: AdapterInstall = "$(AdapterInstall)
  1021.     endif
  1022.     set Status = STATUS_SUCCESSFUL
  1023.     goto finish_adapter
  1024. adapter_shell_error = +
  1025.     set Status = STATUS_FAILED
  1026. finish_adapter = +
  1027.     Ifstr(i)  $(AdapterSrcDir) != ""
  1028.         Ifstr(i)  $(AdapterSrcDir) != $(!STF_SRCDIR)
  1029.             Set !STF_SRCDIR_OVERRIDE = $(AdapterSrcDir)
  1030.         Endif
  1031.     Endif
  1032.     Return $(Status)
  1033. [GenMergeLists]
  1034.     ForListDo $($1)
  1035.         Set $0 = >($($0),$($))
  1036.     EndForListDo
  1037.     Return $($0)
  1038. [InitOptionVars]
  1039.     Debug-Output "PROFILE.INF: InitOptionVars called"
  1040.     set Status           = STATUS_FAILED
  1041.     set OurINFOptions    = {}
  1042.     set OemINFOptions    = {}
  1043.     set MergedINFOptions = {}
  1044.     set SpecialOption    = {}
  1045.     set CurrentOption    = {}
  1046.     Set IovTypeList      = $($1)
  1047.     ForListDo $(IovTypeList)
  1048.         Debug-Output "PROFILE.INF: Get options for type "$($)
  1049.         shell "OTHER.INF" ReturnOemOptions $($0) $($)
  1050.         ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  1051.             Debug-Output "PROFILE.INF: Other OEM options found for type "$($)
  1052.             shell "" GenMergeLists $(OurINFOptions) $($R1)
  1053.             set OurINFOptions = $($R0)
  1054.         endif
  1055.     EndForListDo
  1056.     shell "" MergeOptions $(OurINFOptions) $(OemINFOptions)
  1057.     ifstr(i) $($R0) == STATUS_SUCCESSFUL
  1058.         set MergedINFOptionList     = $($R1)
  1059.         set MergedINFOptionTextList = $($R2)
  1060.         set MergedINFOptions        = {$($R1), $($R2)}
  1061.     else
  1062.         Debug-Output "PROFILE.INF: InitOptionVars: MergeOptions failed"
  1063.         goto finish_InitOptionVars
  1064.     endif
  1065.     set Option = ""
  1066.     ifstr(i) $($3) != ""
  1067.         set Option = $($3)
  1068.     else
  1069.         ifstr(i) $($2) != ""
  1070.             set Option = $($2)
  1071.         else-ifstr(i) $($4) == ""
  1072.             set Option = ""
  1073.         else
  1074.             set Option = $($4)
  1075.         endif
  1076.     endif
  1077.     ifstr(i) $(Option) == ""
  1078.         set OptionText = ""
  1079.     else-ifcontains(i) $(Option) in $(MergedINFOptionList)
  1080.         set OptionText = *($(MergedINFOptionTextList), ~($(MergedINFOptionList), $(Option)))
  1081.     else
  1082.         set OptionText    = $(Option)
  1083.         set Option        = "OEMINSTALLEDOPTION"
  1084.         set SpecialOption = {$(Option), $(OptionText)}
  1085.     endif
  1086.     set CurrentOption = {$(Option), $(OptionText)}
  1087.     set Status = STATUS_SUCCESSFUL
  1088. finish_InitOptionVars = +
  1089.     Debug-Output "PROFILE.INF: InitOptionVars complete "
  1090.     Return $(Status) $(OurINFOptions) $(OemINFOptions) $(MergedINFOptions) $(SpecialOption) $(CurrentOption)
  1091. [InitListBoxVars]
  1092.     Debug-Output "PROFILE.INF: InitListBoxVars invoked"
  1093.     set Status         = STATUS_FAILED
  1094.     set OptionList     = {}
  1095.     set OptionTextList = {}
  1096.     Set OptOther       = $($3)
  1097.     Set OptNone        = $($4)
  1098.     Set UtilityInf     = "UTILITY.INF"
  1099.     ifstr(i) $($1) != {}
  1100.         set OptionList     = *($($1), 1)
  1101.         set OptionTextList = *($($1), 2)
  1102.     endif
  1103.     ifstr(i) $($2) != {}
  1104.         set OptionList     = >($(OptionList),     *($($2), 1))
  1105.         set OptionTextList = >($(OptionTextList), *($($2), 2))
  1106.     endif
  1107.     Shell $(UtilityInf) SortListIndex $(OptionTextList) TRUE FALSE
  1108.     Set IndexList = $($R0)
  1109.     Shell $(UtilityInf) SortByIndex $(OptionTextList) $(IndexList)
  1110.     Set OptionTextList = $($R0)
  1111.     Shell $(UtilityInf) SortByIndex $(OptionList) $(IndexList)
  1112.     Set OptionList = $($R0)
  1113.     Ifstr(i) $(OptOther) != ""
  1114.         set OptionTextList = >($(OptionTextList), $(OptOther))
  1115.     Endif
  1116.     Ifstr(i) $(OptNone) != ""
  1117.         set OptionTextList = >($(OptionTextList), $(OptNone))
  1118.     Endif
  1119.     set Status = STATUS_SUCCESSFUL
  1120.     Return $(Status) $(OptionList) $(OptionTextList)
  1121. [MergeOptions]
  1122.     Debug-Output "PROFILE.INF: MergeOptions called"
  1123.     set Status               = STATUS_FAILED
  1124.     set MergedOptionList     = {}
  1125.     set MergedOptionTextList = {}
  1126.     ForListDo $($0)
  1127.         set OptionList     = *($($), 2)
  1128.         set OptionTextList = *($($), 3)
  1129.         ForListDo $(OptionList)
  1130.             Ifcontains $($) in $(MergedOptionList)
  1131.             else
  1132.                 set MergedOptionList     = >($(MergedOptionList), $($))
  1133.                 set MergedOptionTextList = >($(MergedOptionTextList), *($(OptionTextList), $(#)))
  1134.             endif
  1135.         EndForListDo
  1136.     EndForListDo
  1137.     ForListDo $($1)
  1138.         set OptionList     = *($($), 2)
  1139.         set OptionTextList = *($($), 3)
  1140.         ForListDo $(OptionList)
  1141.             Ifcontains $($) in $(MergedOptionList)
  1142.             else
  1143.                 set MergedOptionList     = >($(MergedOptionList), $($))
  1144.                 set MergedOptionTextList = >($(MergedOptionTextList), *($(OptionTextList), $(#)))
  1145.             endif
  1146.         EndForListDo
  1147.     EndForListDo
  1148.     set Status = STATUS_SUCCESSFUL
  1149.     Return $(Status) $(MergedOptionList) $(MergedOptionTextList)
  1150. [GetOptionFile]
  1151.     Debug-Output "PROFILE.INF: GetOptionFile called"
  1152.     set Status      = STATUS_FILENOTFOUND
  1153.     set FileName = ""
  1154.     ForListDo $($1)
  1155.         set OptionFile = *($($), 1)
  1156.         set OptionList = *($($), 2)
  1157.         ForListDo $(OptionList)
  1158.             ifstr(i) $($) == $($0)
  1159.                 set Status = STATUS_SUCCESSFUL
  1160.                 set FileName = $(OptionFile)
  1161.             endif
  1162.         EndForListDo
  1163.     EndForListDo
  1164. finish_GetOptionFile = +
  1165.     Debug-Output "PROFILE.INF: GetOptionFile status "$(Status)"; file: "$(FileName)
  1166.     Return $(Status) $(FileName)
  1167. [QueryUserQuit]
  1168.     set Status     = STATUS_FAILED
  1169.     set UserAction = CANCEL
  1170.     read-syms ExitWarningDlg$($0)
  1171.     ui start "ExitWarning"
  1172.     ifstr(i) $(DLGEVENT) == "YES"
  1173.         set Status     = STATUS_SUCCESSFUL
  1174.         set UserAction = "OK"
  1175.     else-ifstr(i) $(DLGEVENT) == "NO"
  1176.         set Status     = STATUS_SUCCESSFUL
  1177.         set UserAction = "CANCEL"
  1178.     else
  1179.     endif
  1180. fin_QueryUserQuit = +
  1181.     Return $(Status) $(UserAction)
  1182. [InstallDetection]
  1183.     Set InstallStatus = STATUS_FAILED
  1184.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NetDetect" $(!REG_KEY_READ) KeyNetDetect
  1185.     Ifstr(i) $(KeyNetDetect) != ""
  1186.         Set InstallStatus = STATUS_SUCCESSFUL
  1187.         CloseRegKey $(KeyNetDetect)
  1188.         Goto IDT_Exit
  1189.     Endif
  1190.     Set InfName = "NETDTECT.INF"
  1191.     Debug-Output "PROFILE.INF: Installing NETDTECT.INF netcard detection"
  1192.     Shell $(InfName) InstallOption $(!STF_LANGUAGE) $(InfOption) $(!STF_SRCDIR) "NO" "NO" "NO"
  1193.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1194.         Goto IDT_Exit
  1195.     Endif
  1196.     Set InstallStatus = $($R0)
  1197.     Debug-Output "PROFILE.INF: NETDETECT install returned "$(InstallStatus)
  1198. IDT_Exit = +
  1199.     Return $(InstallStatus)
  1200. [InstallOemHook]
  1201.     Set InfName = "OEMHOOK.INF"
  1202.     Debug-Output "PROFILE.INF: Installing OEMHOOK.INF if present"
  1203.     Shell $(InfName) InstallOption $(!STF_LANGUAGE) $(InfOption) $(!STF_SRCDIR) "YES" "NO" "NO"
  1204. IHK_Exit = +
  1205.    Return STATUS_SUCCESSFUL
  1206. [EnableSetAcl]
  1207.     read-syms VolumeVars
  1208.     detect    VolumeVars
  1209.     GetDriveInPath !STF_NTDRIVE $(!STF_WINDOWSSYSPATH)
  1210.     Debug-Output "PROFILE.INF: GetDriveInPath returned: "$(!STF_NTDRIVE)
  1211.     set Primary = "C:"
  1212.     set Fs_C     = *($(VolumeFSList), ~($(VolumeList), $(Primary)))
  1213.     set Fs_Winnt = *($(VolumeFSList), ~($(VolumeList), $(!STF_NTDRIVE)))
  1214.     Set AutoLines = {}
  1215.     ifstr(i) $(Fs_C) == NTFS
  1216.         ifstr(i) $(Fs_Winnt) == NTFS
  1217.             Set AutoLines = {"setacl /a \DosDevices\"$(!STF_WINDOWSSYSPATH)"\winperms.txt \DosDevices\"$(!STF_NTDRIVE)}
  1218.         else
  1219.             Set AutoLines = {"setacl /c \DosDevices\"$(!STF_WINDOWSSYSPATH)"\winperms.txt"}
  1220.         endif
  1221.     else-ifstr(i) $(Fs_Winnt) == NTFS
  1222.         Set AutoLines = {"setacl /w \DosDevices\"$(!STF_WINDOWSSYSPATH)"\winperms.txt \DosDevices\"$(!STF_NTDRIVE)}
  1223.     endif
  1224.     Debug-Output "PROFILE.INF: AutoLines Value = "$(AutoLines)
  1225.     ifstr(i) $(AutoLines) != {}
  1226.         Debug-Output "PROFILE.INF: Appending to BootExecute: "$(AutoLines)
  1227.         Shell "registry.inf" AppendToBootExecute $(AutoLines)
  1228.     endif
  1229.     Return $R0
  1230. [VolumeVars]
  1231.     VolumeList      = {} ? $(!LIBHANDLE) GetHardDriveLetters
  1232.     VolumeFSList    = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  1233. [StartDetection]
  1234.     Set ServiceName = "NETDETECT"
  1235.     Set ReturnStatus = STATUS_SUCCESSFUL
  1236.     Debug-Output "PROFILE.INF: Starting the netcard detection service"
  1237.     Set FLibraryErrCtl = 1
  1238.     LibraryProcedure StartResult $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, $(ServiceName)
  1239.     Set StartStatus = *($(StartResult),1)
  1240.     Debug-Output "PROFILE.INF: NETDETECT status was: "$(StartStatus)
  1241.     Ifint $(StartStatus) != 0
  1242.         Set ReturnStatus = STATUS_FAILED
  1243.     Endif
  1244. IHK_Exit = +
  1245.     Return $(ReturnStatus)
  1246. [WarnDetectStart]
  1247.     Set Result = STATUS_SUCCESSFUL
  1248.     Read-syms WarnDetectDlg$(!STF_LANGUAGE)
  1249.     ui start "Info"
  1250.     Ifstr(i) $(DLGEVENT) != CONTINUE
  1251.         Set Result = STATUS_FAILED
  1252.     Endif
  1253.     ui pop 1
  1254.     Return $(Result)
  1255. [WarnDetectAccept]
  1256.     Set Result = STATUS_SUCCESSFUL
  1257.     Set DlgData = $($0)
  1258.     Read-syms WarnDetectAccept$(!STF_LANGUAGE)
  1259.     ui start "Info"
  1260.     Ifstr(i) $(DLGEVENT) == EXIT
  1261.         Set Result = STATUS_FAILED
  1262.     Else-Ifstr(i) $(DLGEVENT) == BACK
  1263.         Set Result = STATUS_TRY_AGAIN
  1264.     Else
  1265.         Set Result = STATUS_SUCCESSFUL
  1266.     Endif
  1267.     ui pop 1
  1268.     Return $(Result)
  1269. [WarnDetectFail]
  1270.     Set FoundCard = $($0)
  1271.     Set Result = STATUS_SUCCESSFUL
  1272.     Read-syms WarnDetectFail$(!STF_LANGUAGE)
  1273.     Ifstr(i) $(FoundCard) != YES
  1274.         Read-syms WarnDetectFail2$(!STF_LANGUAGE)
  1275.     Endif
  1276.     ui start "Info"
  1277.     Ifstr(i) $(DLGEVENT) != CONTINUE
  1278.         Set Result = STATUS_FAILED
  1279.     Endif
  1280.     ui pop 1
  1281.     Return $(Result)
  1282. [Install-Net-Support]
  1283.     set STF_VITAL = ""
  1284.     AddSectionFilesToCopyList Files-Exes  $(!STF_SRCDIR) $(DEST_NET_EXE)
  1285.     AddSectionFilesToCopyList Files-Drivers $(!STF_SRCDIR) $(DEST_NET_DRIVER)
  1286.     exit
  1287. [Install-All-Files-Now]
  1288.     set !STF_NCPA_FLASH_COPYLIST = TRUE
  1289.     CopyFilesInCopyList
  1290.     exit
  1291. [Install-Shutdown]
  1292.     LibraryProcedure STATUS,$(!LIBHANDLE),ShutdownSystem $(Reboot)
  1293.     exit
  1294. [Install-Win-Ini-Alter]
  1295. ReplaceIniKeyValue "Win.ini", Winlogon, DefaultUserName, $(!STF_USERNAME)
  1296. ReplaceIniKeyValue "Win.ini", DeskTop,  Wallpaper, $(!STF_PRODUCT)".bmp"
  1297. exit
  1298. [Install-SetBootIniTimeout]
  1299. ChangeBootIniTimeout 30
  1300. exit
  1301. [SetAcls]
  1302.     Debug-Output "PROFILE.INF: SetAcls Entered" 
  1303.     set Status = STATUS_FAILED
  1304.     set Convert_C     = $($0)
  1305.     set Convert_Winnt = $($1)
  1306.     set Fs_C          = $($2)
  1307.     set Fs_Winnt      = $($3)
  1308.     set AutoLines = {}
  1309.     set SetAcl_C = NO
  1310.     set SetAcl_Winnt = NO
  1311.     Debug-Output "PROFILE.INF: !STF_NTDRIVE     = "$(!STF_NTDRIVE)
  1312.     Debug-Output "PROFILE.INF: Convert_C        = "$(Convert_C)
  1313.     Debug-Output "PROFILE.INF: Convert_Winnt    = "$(Convert_Winnt)
  1314.     Debug-Output "PROFILE.INF: Fs_C             = "$(Fs_C)
  1315.     Debug-Output "PROFILE.INF: Fs_Winnt         = "$(Fs_Winnt)
  1316.     ifstr(i) $(Convert_C) == YES
  1317.         Debug-Output "PROFILE.INF: Auto convert C:"
  1318.         set AutoLines   = >($(AutoLines), "autoconv \DosDevices\C: /fs:NTFS")
  1319.         set SetAcl_C = YES
  1320.     endif
  1321.     ifstr(i) $(Convert_Winnt) == YES
  1322.         Debug-Output "PROFILE.INF: Auto convert NT drive"
  1323.         set AutoLines   = >($(AutoLines), "autoconv \DosDevices\"$(!STF_NTDRIVE)" /fs:NTFS")
  1324.         set SetAcl_Winnt = YES
  1325.     endif
  1326.     ifstr(i) $(SetAcl_C) == NO
  1327.         ifstr(i) $(Fs_C) == NTFS
  1328.             set SetAcl_C =  YES
  1329.         endif
  1330.     endif
  1331.     ifstr(i) $(SetAcl_Winnt) == NO
  1332.         ifstr(i) $(Fs_Winnt) == NTFS
  1333.             set SetAcl_Winnt =  YES
  1334.         endif
  1335.     endif
  1336.     ifstr(i) $(SetAcl_C) == YES
  1337.         Debug-Output "PROFILE.INF: Set ACLs on NT drive"
  1338.         ifstr(i) $(SetAcl_Winnt) == YES
  1339.             set AutoLines = >($(AutoLines), "setacl /a \DosDevices\"$(!STF_WINDOWSSYSPATH)"\winperms.txt \DosDevices\"$(!STF_NTDRIVE))
  1340.         else
  1341.             set AutoLines = >($(AutoLines), "setacl /c \DosDevices\"$(!STF_WINDOWSSYSPATH)"\winperms.txt")
  1342.         endif
  1343.     else-ifstr(i) $(SetAcl_Winnt) == YES
  1344.         set AutoLines = >($(AutoLines), "setacl /w \DosDevices\"$(!STF_WINDOWSSYSPATH)"\winperms.txt \DosDevices\"$(!STF_NTDRIVE))
  1345.     endif
  1346.     Debug-Output "PROFILE.INF: AutoLines: "$(AutoLines)
  1347.     shell "registry.inf" AppendToBootExecute $(AutoLines)
  1348.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1349.         Debug-Output "SETUP.INF: Shelling AppendToBootExecute failed"
  1350.         goto finish_setacls
  1351.     endif
  1352.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1353.         Debug-Output "SETUP.INF: AppendToBootExecute failed"
  1354.         goto finish_setacls
  1355.     endif
  1356.     set Status = STATUS_SUCCESSFUL
  1357. finish_setacls = +
  1358.     Debug-Output "PROFILE.INF: SetAcls Completed - "
  1359.     Return $(Status)
  1360. [Source Media Descriptions]
  1361.     1  = "Windows NT Setup Disk #1"  , TAGFILE = disk1
  1362.     2  = "Windows NT Setup CD-ROM Disk"  , TAGFILE = disk2
  1363.     99    = "LMHOST disk", TAGFILE = lmhosts
  1364. [ProductType]
  1365. STF_PRODUCT  = Winnt
  1366. STF_PLATFORM = I386
  1367. [Files-Inf]
  1368. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  1369. [ProductTitleWinNtENG]
  1370. !NetProductTitle = "Windows NT"
  1371. [ProductTitleLanmanNtENG]
  1372. !NetProductTitle = "Windows NT Advanced Server"
  1373. [QueryProtocolENG]
  1374. Caption     = "Protocol Setup"
  1375. DlgText     = "Completing this installation requires that you specify "+
  1376.               "the network transport protocol to be used as primary."
  1377. Combo1Label = "&Primary Protocol:"
  1378. DlgType     = Combination
  1379. DlgTemplate = "ADAP_PROTO_COMBO"
  1380. EditFocus = "ALL"
  1381. Combo1List  = $(ProtocolList)
  1382. Combo1Out   = $(ProtocolListHolder)
  1383. ComboListItemsIn  = {Combo1List} 
  1384. ComboListItemsOut = {Combo1Out}
  1385. HelpContext = $(!IDH_DB_GET_PROTOCOL)
  1386. [TimeZone]
  1387.   TimeZoneName = "Pacific Time"
  1388. [SetupNotDoneDlgENG]
  1389.     Caption     = $(!NetProductTitle)" Setup"
  1390.     DlgText     = $(!NetProductTitle)" has not been installed."$(!LF)$(!LF)+
  1391.                   "Please remove any floppy disks from the floppy disk drives and "+
  1392.                   "choose Restart Computer to run Setup again."
  1393.     Reboot      = "&Restart Computer"
  1394.     Windows     = "E&xit to "$(!NetProductTitle)
  1395.     DlgType     = "Info"
  1396.     DlgTemplate = "REBOOT"
  1397. [SetupDoneDlgENG]
  1398.     Caption     = $(!NetProductTitle)" Networking Setup"
  1399.     DlgText     = $(!NetProductTitle)" Networking is now installed."$(!LF)$(!LF)+
  1400.                   "Please remove any floppy disks from the floppy disk drives and "+
  1401.                   "choose Restart Computer to run the installed system."
  1402.     Reboot      = "&Restart Computer"
  1403.     Windows     = "E&xit to "$(!NetProductTitle)
  1404.     DlgType     = "Info"
  1405.     DlgTemplate = "REBOOT"
  1406. [InfoDlg]
  1407. STF_MB_TITLE = "Information Message"
  1408. DlgType = "MessageBox"
  1409. STF_MB_TEXT  = $(InfoMsgText)
  1410. STF_MB_TYPE  = 1
  1411. STF_MB_ICON  = 5
  1412. STF_MB_DEF   = 1
  1413. [WarningDlgENG]
  1414. STF_MB_TITLE = "Network Setup Warning"
  1415. DlgType = "MessageBox"
  1416. STF_MB_TEXT  = $(Error)
  1417. STF_MB_TYPE  = 1
  1418. STF_MB_ICON  = 5
  1419. STF_MB_DEF   = 1
  1420. [WarningNoNetENG]
  1421. ErrorSuffix = "  This error prevented the network from starting.  As a result,"+
  1422.               " you will be unable to join a domain at the present time."
  1423. [WarningNoLmHostsENG]
  1424. ErrorSuffix = "  This error prevented the LmHosts service from starting."
  1425. [Warning3ENG]
  1426. Error = "This will abort network installation."
  1427. [ExitWarningDlgENG]
  1428. STF_MB_TITLE = "Exit "$(!NetProductTitle)" Networking Setup"
  1429. STF_MB_TEXT  = $(!NetProductTitle)" is not correcly installed for Network support.  "+
  1430.                "Are you sure you want to discontinue network installation?"
  1431. DlgType      = "MessageBox"
  1432. STF_MB_TYPE  = 3
  1433. STF_MB_ICON  = 5
  1434. STF_MB_DEF   = 2
  1435. [NonfatalDlgENG]
  1436. STF_MB_TITLE = "Setup Message"
  1437. DlgType = "MessageBox"
  1438. STF_MB_TEXT  = $(Error)
  1439. STF_MB_TYPE  = 1
  1440. STF_MB_ICON  = 5
  1441. STF_MB_DEF   = 1
  1442. [NonFatalError1ENG]
  1443. Error = "Setup cannot function properly unless your enter your Name."
  1444. [NonFatalError2ENG]
  1445. Error = "Disk Setup not available yet."
  1446. [NonFatalError4ENG]
  1447. Error = $(NetcardListHolder)"  is not in  "$(NetcardNameList)
  1448. [NonFatalError5ENG]
  1449. Error = "Setup cannot function properly unless you enter the name requested."
  1450. [NonFatalError6ENG]
  1451. Error = "No network card was selected."
  1452. [NonFatalError7ENG]
  1453. Error = "The name entered is invalid."
  1454. [NonFatalError8ENG]
  1455. Error = "The computer name entered is invalid."
  1456. [NonFatalError9ENG]
  1457. Error = "The domain name entered is invalid."
  1458. [NonFatalError10ENG]
  1459. Error = "The workgroup name entered is invalid."
  1460. [NonFatalError11ENG]
  1461. Error = "The Domain Controller name entered is invalid"
  1462. [NonFatalError12ENG]
  1463. Error = "Setup failed to configure your Windows16 compatibility "+
  1464.         "subsystem.  Ignoring the error."
  1465. [FatalDlgENG]
  1466. STF_MB_TITLE = "Setup Message"
  1467. DlgType = "MessageBox"
  1468. STF_MB_TEXT  = $(Error)
  1469. STF_MB_TYPE  = 1
  1470. STF_MB_ICON  = 3
  1471. STF_MB_DEF   = 1
  1472. [FatalError1ENG]
  1473. Error = "Driver load failed: unable to start LanmanWorkstation."
  1474. [FatalError4ENG]
  1475. Fatal  = "Setup couldn't modify your computer name."$(!LF)$(!LF)"Cannot proceed with install."
  1476. [FatalError9ENG]
  1477. Fatal  = "Setup failed to initialize security on your computer.  Cannot proceed "+
  1478.          "with install."
  1479. [FatalError12ENG]
  1480. Fatal = "Setup was unable to build the user's default configuration file. "+
  1481.         "Windows NT cannot log on a user without this file."
  1482. [FatalError13ENG]
  1483. Fatal = "Setup was unable to reset the SystemSetupInProgress value to "+
  1484.         "indicate Setup completion."
  1485. [FatalError999ENG]
  1486. Error = "Setup has encountered an internal error and must quit."
  1487. [ProgressCopyENG]
  1488.     ProCaption   = $(!NetProductTitle)" Setup"
  1489.     ProCancel    = "Cancel"
  1490.     ProCancelMsg = $(!NetProductTitle)" is not correcly installed.  Are you sure you want "+
  1491.                    "to cancel copying files?"
  1492.     ProCancelCap = "Setup Message"
  1493.     ProText1     = "Copying:"
  1494.     ProText2     = "To:"
  1495.     PlatformID_I386 = I386
  1496.     PlatformID_Mips = Mips
  1497. [Billboard1ENG]
  1498. Status = "Setup is preparing network card choices..."
  1499. [Billboard2ENG]
  1500. Status = "Setup is installing the Windows NT Workstation service..."
  1501. [Billboard3ENG]
  1502. Status = "Setup is installing the Windows NT Server service..."
  1503. [Billboard4ENG]
  1504. Status = "Setup is installing the NetBEUI transport..."
  1505. [Billboard5ENG]
  1506. Status = "Setup is installing the NetBIOS service..."
  1507. [Billboard6ENG]
  1508. Status = "Setup is starting the network..."
  1509. [Billboard7ENG]
  1510. Status = "Setup is completing the installation of the security system..."
  1511. [Billboard8ENG]
  1512. Status = "Setup is installing the network card..."
  1513. [Billboard9ENG]
  1514. Status = "Setup is preparing network software choices..."
  1515. [Billboard10ENG]
  1516. Status = "Setup is installing the netcard detection service..."
  1517. [Billboard11ENG]
  1518. Status = "Setup is installing the RPC locator services..."
  1519. [QueryAdapterENG]
  1520. Caption     = "Add Network Adapter"
  1521. DlgText     = "Setup needs to know which type of network adapter card "+
  1522.               "is installed in your computer. If you do not want to install "+
  1523.               "the network, or do not have a network adapter, press CANCEL."+
  1524.               "  If you have more than one network card, you can install others"+
  1525.               " from the Network icon of the Control Panel."
  1526. Combo1Label = "&Network Adapter Card:"
  1527. Help        = "&Help"
  1528. Exit        = "Cancel"
  1529. Continue    = "Continue"
  1530. Cancel      = "Cancel"
  1531. DlgType     = Combination
  1532. DlgTemplate = "ADAP_PROTO_COMBO"
  1533. EditFocus = "ALL"
  1534. Combo1List  = $(AdapterOptionTextList)
  1535. Combo1Out   = *($(Combo1List), ~($(AdapterOptionList), $(AdapterOption)))
  1536. ComboListItemsIn  = {Combo1List}
  1537. ComboListItemsOut = {Combo1Out}
  1538. NotifyFields      = {NO}
  1539. HelpContext = $(!IDH_DB_CARDSELECTION_INS)
  1540. ExitState   = "Active"
  1541. [OemOptionDisketteENG]
  1542.    DO_COPY                       = "YES"
  1543.    AdapterDisketteSrc = "A:\"
  1544.    OemSoftDisketteSrc = "A:\"
  1545. [StringsENG]
  1546.     Other  = "<Other> Requires disk from manufacturer"
  1547.     None   = "<None>  Network interface to be chosen later"
  1548.     Error1 = "Failed to initialize adapter options."
  1549.     Error2 = "Failed to initialize display variables."
  1550.     Error3 = "Failed to fetch new options.  Ignoring the error."
  1551.     Error4 = "Failed to merge our options with the oem options."
  1552.     Error5 = ""
  1553. [WarnDetectDlgENG]
  1554. Caption     = "Network Adapter Card Detection"
  1555. DlgText     = "Setup can automatically detect and install network adapter cards in your computer."+
  1556.               $(!LF)$(!LF)"Choose Continue to have Setup attempt to detect your adapter card "+
  1557.               "or choose Do Not Detect to manually select an adapter card."
  1558. Help        = "&Help"
  1559. Exit        = "Do &Not Detect"
  1560. Continue    = "Continue"
  1561. DlgType     = Info
  1562. DlgTemplate = "NC3BUTN"
  1563. ExitState   = "Active"
  1564. HelpContext = $(!IDH_DB_DETECT_BYPASS)
  1565. [WarnDetectAcceptENG]
  1566. Caption     = "Network Adapter Card Detection"
  1567. DlgText1    = "Setup has detected the following network adapter card in your computer:"
  1568. DlgText2    = "Choose Continue to set up this adapter card, choose Find Next "+
  1569.               "to have Setup attempt to detect a different adapter card or choose "+
  1570.               "Do Not Detect if you want to manually select an adapter card."
  1571. Help        = "&Help"
  1572. Exit        = "Do &Not Detect"
  1573. Continue    = "Continue"
  1574. Cancel      = "&Find Next"
  1575. DlgType     = Info
  1576. DlgTemplate = "NCFOUND"
  1577. HelpContext = $(!IDH_DB_DETECT_FOUND)
  1578. [WarnDetectFailENG]
  1579. Caption     = "Network Adapter Card Detection"
  1580. DlgText     = "Setup did not detect any other network adapter cards in your computer."+
  1581.               $(!LF)$(!LF)"Choose Continue to manually select an adapter card, "+
  1582.               "or choose Detect to return to a previously detected adapter card."
  1583. Help        = "&Help"
  1584. Continue    = "Continue"
  1585. Exit        = "&Detect"
  1586. DlgType     = Info
  1587. DlgTemplate = "NC3BUTN"
  1588. ExitState   = "Active"
  1589. HelpContext = $(!IDH_DB_DETECT_FAILED)
  1590. [WarnDetectFail2ENG]
  1591. DlgText     = "Setup did not detect any network adapter cards in your computer."+
  1592.               $(!LF)$(!LF)"Choose Continue to manually select an adapter card, "+
  1593.               "or choose Detect to retry the detection operation."
  1594.